package com.gnkexy.springframework.beans.factory;

import com.gnkexy.springframework.beans.BeansException;
import com.gnkexy.springframework.beans.factory.config.AutowireCapableBeanFactory;
import com.gnkexy.springframework.beans.factory.config.BeanPostProcessor;
import com.gnkexy.springframework.beans.factory.config.ConfigurableBeanFactory;
import com.gnkexy.springframework.context.supper.ApplicationContextAwareProcessor;

public interface ConfigurableListableBeanFactory extends ListableBeanFactory, ConfigurableBeanFactory, AutowireCapableBeanFactory {

    Object getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;

    public void destroySingletons();

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);

    void registerSingleton(String name, Object bean);

}
